package top.infopub.mgr.hr.service;

import java.util.List;

import top.infopub.generic.GenericService;
import top.infopub.mgr.hr.vo.DeptInfoVo;
import top.infopub.model.hr.DeptInfo;

import com.github.pagehelper.Page;

public interface DeptInfoService extends GenericService<DeptInfo, String> {

    /**
     * 根据条件查询部门记录
     * @param page
     * @param deptInfoVo
     * @return
     * @see
     */
    Page<DeptInfoVo> selectPageByDomainWhere(Page<DeptInfoVo> page, DeptInfoVo deptInfoVo);

    /**
     * 新增部门
     * @param deptInfoVo
     * @param flag 是否为新增
     * @see
     */
    void saveDeptInfo(DeptInfoVo deptInfoVo, boolean flag);

    /**
     * 根据公司ID查询（一级、二级）部门
     * @param orgId 公司Id
     * @return
     * @see
     */
    List<DeptInfo> selectByOrgId(String orgId);

    /**
     * 根据公司id查询所有部门
     * @param orgId 公司Id
     * @return
     * @see
     */
    List<DeptInfo> selectAllByOrgId(String orgId);

    /**
     * 根据名称和id查询部门是否存在
     * @param deptName 部门名称
     * @param id 主键id
     * @param orgId 公司id
     * @return
     * @see
     */
    List<DeptInfo> selectByDeptNameAndId(String deptName, String id, String orgId);

}
